package com.mass.waybill.scheduleTypes.service;

import com.mass.core.utils.AjaxResponse;
import com.mass.waybill.order.model.WbShippingOrder;
import com.mass.waybill.scheduleTypes.model.WbScheduleTypes;

import java.util.List;

/**
 * @Author: ZSX
 * @Description: 费用明细  service 接口
 */
public interface WbScheduleTypesService {

    /**
     * 分页条件查询增补信息
     *
     * @param wbShippingOrder
     * @param page
     * @param limit
     * @return
     */
    AjaxResponse findSupplement(WbShippingOrder wbShippingOrder, Integer page, Integer limit);

    /**
     * 费用统计 分页
     *
     * @param wbShippingOrder
     * @param page
     * @param limit
     * @return
     */
    AjaxResponse costStatistics(WbShippingOrder wbShippingOrder, Integer page, Integer limit);

    /**
     * 费用统计 查询所有 不分页
     *
     * @param wbShippingOrder
     * @return
     */
    List<WbShippingOrder> costStatisticsAll(WbShippingOrder wbShippingOrder,Integer page,Integer limit);

    /**
     * 删除增补单
     *
     * @param batchNumber 编号
     * @return
     */
    int deleteSupplement(String batchNumber);

    /**
     * 批量更新
     *
     * @param wbScheduleTypesList
     * @param states              0  订单更新费用明细    1 更新增补费用明细
     * @param orderCode           订单编码
     * @param batchNumber         增补编号
     * @return
     */
    int replaceData(List<WbScheduleTypes> wbScheduleTypesList, int states, String orderCode, String batchNumber);

    /**
     * 条件查询
     *
     * @param wbScheduleTypes
     * @return
     */
    List<WbScheduleTypes> findConditions(WbScheduleTypes wbScheduleTypes);

    /**
     * 增补审核
     *
     * @param wbScheduleTypes
     * @return
     */
    int supplementaryAudit(WbScheduleTypes wbScheduleTypes);

}
